// Moonshot API 测试脚本
// 运行方式：node test-moonshot-api.js

import axios from 'axios';

// 配置
const API_KEY = 'sk-UZr1pGehZlVSBzEb65JyBdLVR5YYahr4DaAohDGUUYAQwTxI'; // Moonshot API 密钥
const BASE_URL = 'https://api.moonshot.cn';

async function testMoonshotAPI() {
  console.log('🚀 开始测试 Moonshot API...');
  
  // 检查 API 密钥
  if (!API_KEY || API_KEY === 'sk-your-actual-api-key-here') {
    console.error('❌ 请先设置正确的 API 密钥！');
    console.log('📝 请将 test-moonshot-api.js 文件中的 API_KEY 替换为你的实际密钥');
    return;
  }

  try {
    // 测试获取模型列表
    console.log('📋 测试获取模型列表...');
    const modelsResponse = await axios.get(`${BASE_URL}/v1/models`, {
      headers: {
        'Authorization': `Bearer ${API_KEY}`,
        'Content-Type': 'application/json',
      },
      timeout: 10000,
    });
    
    console.log('✅ 模型列表获取成功！');
    console.log('📊 可用模型数量:', modelsResponse.data.data?.length || 0);
    
    // 测试聊天功能
    console.log('💬 测试聊天功能...');
    const chatResponse = await axios.post(`${BASE_URL}/v1/chat/completions`, {
      model: 'moonshot-v1-8k',
      messages: [
        {
          role: 'user',
          content: '你好，请简单介绍一下你自己。'
        }
      ],
      temperature: 0.7,
      max_tokens: 100,
    }, {
      headers: {
        'Authorization': `Bearer ${API_KEY}`,
        'Content-Type': 'application/json',
      },
      timeout: 30000,
    });
    
    console.log('✅ 聊天功能测试成功！');
    console.log('🤖 AI 回复:', chatResponse.data.choices?.[0]?.message?.content || '无回复');
    console.log('📊 Token 使用情况:', chatResponse.data.usage);
    
    console.log('🎉 所有测试通过！API 配置正确。');
    
  } catch (error) {
    console.error('❌ API 测试失败:', error.message);
    
    if (error.response) {
      console.error('📊 错误状态码:', error.response.status);
      console.error('📝 错误详情:', error.response.data);
      
      if (error.response.status === 401) {
        console.error('🔑 API 密钥无效，请检查密钥是否正确');
      } else if (error.response.status === 429) {
        console.error('⏰ API 调用频率超限，请稍后再试');
      }
    } else if (error.code === 'ECONNABORTED') {
      console.error('⏱️ 请求超时，请检查网络连接');
    }
  }
}

// 运行测试
testMoonshotAPI();
